package com.wxq.demo.service;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class MySchedule {
    /**
     * fixedDelay = 1000表示当前任务执行结束1秒后开启另一个任务
     */
    @Scheduled(fixedDelay = 1000)
    public void fixedDelay() {
        System.out.println("fixedDelay:" + new Date());
    }

    /**
     * fixedDelay = 2000表示当前任务执行结束2秒后开启另一个任务
     */
    @Scheduled(fixedDelay = 2000)
    public void fixedRate() {
        System.out.println("fixedRate:" + new Date());
    }

    /**
     * initialDelay = 1000表示首次执行的延迟时间
     */
    @Scheduled(initialDelay = 1000, fixedDelay = 2000)
    public void initialDelay() {
        System.out.println("initialDelay:" + new Date());
    }

    /**
     * 表示没分钟执行一次
     */
    @Scheduled(cron = "0 * * * * ?")
    public void cron() {
        System.out.println("cron:" + new Date());
    }
}
